Root Zanli
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
home
/
o5t6x7pgljbm
/
www
/
admin
/
app
/
Models
/
Filename :
TaskAssigned.php
back
Copy
<?php namespace App\Models; use Carbon\Carbon; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\Relations\HasOne; use Illuminate\Database\Eloquent\SoftDeletes; class TaskAssigned extends Model { use SoftDeletes; protected $table = 'task_assigned'; protected $primaryKey = 'task_assigned_id'; /** * The attributes that are mass assignable. * * @var array */ protected $fillable = [ 'user_id', 'task_id', 'group_id', 'status', 'task_details_for_approval', 'created_at', 'updated_at', 'deleted_at' ]; public static function isTaskAssignmentPresent($user_id, $task_id){ $taskAssignment = TaskAssigned::select("*") ->where("user_id", $user_id) ->where("task_id", $task_id) ->first(); if(isset($taskAssignment) && isset($taskAssignment->task_assigned_id) && $taskAssignment->task_assigned_id > 0) return true; else return false; } public function approval_files(): HasMany { return $this->hasMany('App\Models\TaskAssignedApprovalFile', 'task_assigned_id', 'task_assigned_id'); } public function task(): HasOne { return $this->hasOne('App\Models\Task', 'task_id','task_id'); } public function assigned_to_user(): HasOne { return $this->hasOne('App\Models\User', 'user_id','user_id'); } public function claims(): HasMany { return $this->hasMany('App\Models\AllClaim', 'task_assigned_id', 'task_assigned_id') ->orderBy('created_at', 'desc'); } public function cloneTaskAssignee($newTask){ $clone = $this->replicate(); // Exclude specified columns from the cloning process $clone->unsetRelation('approval_files'); $clone->unsetRelation('task'); $clone->unsetRelation('claims'); $clone->unsetRelation('assigned_to_user'); // Unset relationship to avoid cloning TaskSettings $clone->status = null; $clone->task_id = null; $clone->task_details_for_approval = null; // $clone->created_by = null; $clone->updated_at = null; //set new values $clone->task_id = $newTask != null ? $newTask->task_id : null; $clone->status = 'PENDING'; $clone->created_at = Carbon::now(); $clone->updated_at = Carbon::now(); $clone->save(); return $clone; } }